﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.ComponentModel;

namespace ButtonTree2
{
    public static class RibbonConfigUtils
    {
        static RibbonConfigUtils()
        {


            TextNormalFont = new Font("宋体", 9);
            TextNormalColor = Color.FromArgb(255, 0x40, 0x40, 0x80);
            TextGrayColor = Color.FromArgb(255, 0x80, 0x80, 0x80);

            TextNormalStringFormat = new StringFormat();
            TextNormalStringFormat.Alignment = StringAlignment.Center;
            TextNormalStringFormat.LineAlignment = StringAlignment.Center;

            LightLineColor = Color.FromArgb(80, 255, 255, 255);

            //////////////////////////////////////////////////////////////////////////
            // 原TabControl背景色
            //TabControlBackColor = Color.FromArgb(255, 223, 233, 245);
            TabControlBackColor = Color.FromArgb(255, 229, 233, 238);
            //TabControlBackColor = Color.FromArgb(255, 0, 0, 0);

            TabContorlBorderColor = Color.FromArgb(255, 186, 201, 219);

            // 原Ribbon背景色
//             TabBackLinearColor_0 = Color.FromArgb(255, 251, 253, 255);
//             TabBackLinearColor_1 = Color.FromArgb(255, 222, 232, 245);
//             TabBackLinearColor_2 = Color.FromArgb(255, 220, 230, 244);
        
//             TabBackLinearColor_0 = Color.FromArgb(255, 255, 255, 255);
//             TabBackLinearColor_1 = Color.FromArgb(255, 255, 255, 255);
//             TabBackLinearColor_2 = Color.FromArgb(255, 229, 233, 238);
            TabBackLinearColor_0 = Color.FromArgb(0xff, 0xfd, 0xfd, 0xfd);
            TabBackLinearColor_2 = Color.FromArgb(0xff, 0xeb, 0xec, 0xf0);

            TabMouseHoverBorderColor = Color.FromArgb(130, 253, 147, 2);

            //////////////////////////////////////////////////////////////////////////
            // Group
            GroupSeparateLineLinearColor_0 = Color.FromArgb(0, 0, 0, 0);
            GroupSeparateLineLinearColor_1 = Color.FromArgb(60, 0, 0, 0);
            GroupSeparateLineBorder = Color.FromArgb(50, 255, 255, 255);

            //////////////////////////////////////////////////////////////////////////
            // Button
            ButtonHoverBorderLineColor = Color.FromArgb(255, 218, 203, 151);      // 橘黄色
            ButtonHoverUnableBorderLineColor = Color.FromArgb(255, 0, 0, 255);    // 蓝色
            ButtonWhiteBorderLineColor = Color.FromArgb(100, 255, 255, 255);

            ButtonHoverFillColor_0 = Color.FromArgb(255, 255, 253, 224);    // 橘黄色填充色
            ButtonHoverFillColor_1 = Color.FromArgb(255, 255, 211, 90);
            //ButtonHoverFillColor_2 = Color.FromArgb(255, 255, 235, 173);

            ButtonCheckedFillColor = Color.FromArgb(255, 0xf0, 0xcc, 0x9B);
            ButtonCheckedBoundColor = Color.FromArgb(255, 0xA3, 0x74, 0x28);

            //////////////////////////////////////////////////////////////////////////
            // Menu相关
            WhiteGlassColor = Color.FromArgb(120, 255, 255, 255);
            MenuBoundColor = Color.FromArgb(255, 100, 120, 130);
        }

        public static Color TextNormalColor
        {
            get;
            set;
        }

        public static Color TextGrayColor
        {
            get;
            set;
        }

        public static Font TextNormalFont
        {
            get;
            set;
        }

        public static StringFormat TextNormalStringFormat
        {
            get;
            set;
        }

        public static Color LightLineColor
        {
            get;
            set;
        }

        //////////////////////////////////////////////////////////////////////////
        // tab
        public static Color TabControlBackColor
        {
            get;
            set;
        }

        public static Color TabContorlBorderColor
        {
            get;
            set;
        }


        public static Color TabBackLinearColor_0
        {
            get;
            set;
        }
        public static Color TabBackLinearColor_1
        {
            get;
            set;
        }
        public static Color TabBackLinearColor_2
        {
            get;
            set;
        }

//         public static Color TabBorderColor
//         {
//             get;
//             set;
//         }

        public static Color TabMouseHoverBorderColor
        {
            get;
            set;
        }

        //////////////////////////////////////////////////////////////////////////
        // RibbonGroup

        public static Color GroupSeparateLineLinearColor_0
        {
            get;
            set;
        }

        public static Color GroupSeparateLineLinearColor_1
        {
            get;
            set;
        }

        public static Color GroupSeparateLineBorder
        {
            get;
            set;
        }


        //////////////////////////////////////////////////////////////////////////
        // Button

        // 鼠标悬停时，有效控件边框颜色
        public static Color ButtonHoverBorderLineColor
        {
            get;
            set;
        }

        // 鼠标悬停时，无效控件边框颜色
        public static Color ButtonHoverUnableBorderLineColor
        {
            get;
            set;
        }

        // 带有白色亮度的边框
        public static Color ButtonWhiteBorderLineColor
        {
            get;
            set;
        }

        // 鼠标悬停时，控件上方渐变填充色
        // 上
        public static Color ButtonHoverFillColor_0
        {
            get;
            set;
        }
        // 下
        public static Color ButtonHoverFillColor_1
        {
            get;
            set;
        }

//         // 鼠标悬停时，控件下方放射填充色中心颜色
//         public static Color ButtonHoverFillColor_2
//         {
//             get;
//             set;
//         }

        public static Color WhiteGlassColor
        {
            get;
            set;
        }

        public static Color MenuBoundColor
        {
            get;
            set;
        }

        // Ribbon控件IsCheck==true时颜色
        public static Color ButtonCheckedFillColor
        {
            get;
            set;
        }

        public static Color ButtonCheckedBoundColor
        {
            get;
            set;
        }
    }
}
